home *** CD-ROM | disk | FTP | other *** search
- .\" GRAB Graph Layout and Browser System
- .\"
- .\" Copyright (c) 1986, 1988 Regents of the University of California
- .\" Copyright (c) 1989, Tera Computer Company
- .\"
- .\" Permission to use, copy, modify, and distribute this software and its
- .\" documentation for educational, research, and non-profit purposes and
- .\" without fee is hereby granted, provided that the above copyright
- .\" notice appear in all copies and that both that copyright notice and
- .\" this permission notice appear in supporting documentation, and that
- .\" the name of the University of California not be used in advertising
- .\" or publicity pertaining to distribution of the software without
- .\" specific, written prior permission. Permission to incorporate this
- .\" software into commercial products can be obtained from the Campus
- .\" Software Office, University of California, Berkeley, CA 94720.
- .\" The University of California makes no representations about the
- .\" suitability of this software for any purpose. It is provided "as is"
- .\" without express or implied warranty.
- .\"
- .\" Permission to use, copy, modify, and distribute this software and its
- .\" documentation for educational, research, and non-profit purposes and
- .\" without fee is hereby granted, subject only to the condition that Tera
- .\" Computer Company makes no representation about the suitability of
- .\" this software for any purpose. It is provided "as is" without express or
- .\" implied warranty.
- .\"
- .\" Furthermore, portions of this system
- .\" Copyright (c) 1987, 1988, 1989 Stanford University
- .\"
- .\" Permission to use, copy, modify, distribute, and sell this software and its
- .\" documentation for any purpose is hereby granted without fee, provided
- .\" that the above copyright notice appear in all copies and that both that
- .\" copyright notice and this permission notice appear in supporting
- .\" documentation, and that the name of Stanford not be used in advertising or
- .\" publicity pertaining to distribution of the software without specific,
- .\" written prior permission. Stanford makes no representations about
- .\" the suitability of this software for any purpose. It is provided "as is"
- .\" without express or implied warranty.
- .\"
- .\" STANFORD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
- .\" IN NO EVENT SHALL STANFORD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
- .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
- .\" DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
- .\" OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- .\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- .\"
- .\" (whew!)
- .\"
- .TL
- Introduction to GRAB
- .AU
- Lawrence A. Rowe
- revised by Greg Barnes
- .AI
- Computer Science Division - EECS
- University of California
- Berkeley, CA 94720, and
-
- Tera Computer Company
- 400 N. 34th St., Suite 300
- Seattle, WA 98103, respectively
- .PP
- Directed graphs are commonly used
- to represent information. For example, in Computer Science graphs are
- used to represented program call-graphs, module dependency graphs, the
- fsa underlying an LR parser, and database designs.
- .PP
- GRAB was designed to display and edit arbitrary directed graphs. A
- novel feature of \fIGRAB\fR is that it has an operation to layout a
- graph automatically. The current implementation of this operation is
- based on an algorithm developed by Sugiyama, et.al. [Sugiyama]. The
- objective of the algorithm is to minimize the number of edge crossings
- and to produce a layout that makes the graph easier to understand. The
- initial implementation of this algorithm was done by Carl Meyer. His
- Master's report [Meyer] describes the design goals for \fIGRAB\fR and
- presents a description of the algorithm that is much easier to
- understand than the description in [Sugiyama].
- .PP
- Michael Davis modified the layout heuristics used by the layout
- algorithm to straighten long edges, improve the placement of nodes on a
- level, and improve the routing of edges between nodes. In addition,
- Davis modified the data structures to improve the run-time performance
- of the layout algorithm. These changes are described in his Master's
- report [Davis].
- .PP
- The first implementation of the layout algorithm was on a VAX. This
- implementation was ported to the Sun Microsystems M68K and included in
- a graph displayer and editor, called \fISUNGRAB\fR, developed by
- Charles Spirakis and Michael Davis, and later on modified by Allen
- Tuan and Eli Messinger.
- .PP
- Greg Barnes ported the \fISUNGRAB\fR program to the X Window System,
- Version 11, altering the layout algorithm slightly, the user interface
- extensively, and the name completely (to \fIXGRAB\fR).
- The source code, documentation, manual pages, and sample data
- files for this program are included in the parent of this directory.
- The README file there describes how to compile the system.
- .PP
- [the following notes are about the sungrab system, not the xgrab system.
- Although I can't be sure, I believe the first improvement has already been
- accomplished. Layouts should take seconds, not minutes, to perform.
- An in-core representation is still being used, however.]
- .PP
- We are continuing to improve and extend the \fISUNGRAB\fR system. Some
- of the improvements and extensions currently being worked on are:
- .IP 1.
- The algorithms and data structures will be changed to make the system
- run faster. We have layed out a graph with approximately 250 nodes and
- 1000 edges (the call-graph for \fISUNGRAB\fR itself). This graph took
- 25 minutes to layout. Loading the graph after it was layed out took
- over 8 minutes. We want to speed the system up so we can operate on
- graphs with up to 1000 nodes. Eventually, this will require modifying
- the system to run on graphs stored in a database system rather than the
- in-core representation currently used.
- .IP 2.
- The layout algorithm will be improved and changed to layout graphs
- incrementally so that interactive editing of the graph or the data
- represented by the graph (e.g., a source program) will not require the
- entire graph to be layed out again. In addition, we have heuristics
- for improving the current layouts with which we want to experiment.
- .PP
- We also are hoping that early users of the system will offer
- suggestions for improvements. Please send suggestions to me at the
- following address given above or e-mail to
- .IP
- \fBlarry@ingres.Berkeley.EDU\fR.
- .LP
- Bugs or problems installing and using the sungrab system should be sent to
- .IP
- \fBgrab@ingres.Berkeley.EDU\fR.
- .LP
- Bugs or problems installing and using the xgrab system should be sent to
- .IP
- \fBgreg@cs.washington.edu\fR.
- .SH
- References
- .LP
- .nf
- [Davis] M. Davis
- ``A Layout Algorithm for a Graph Browser.''
- Masters Report, Comp. Sci. Div.-EECS, U.C. Berkeley
- (May 1985).
-
- [Meyer] C. Meyer
- ``A Brower for Directed Graphs.''
- Masters Report, Comp. Sci. Div.-EECS, U.C. Berkeley
- (Dec. 1983).
-
- [Sugiyama] K. Sugiyama, S. Tagawa, and M. Toda
- ``Methods for Visual Understanding of Hierarchical Systems
- Structures.'' IEEE Trans. on Sys. Man, and Cyb., SMC-11 (2)
- (Feb. 1981).
- .SH
- Note
- .IP
- \fIX Window System\fR is a trademark of the Massachusetts Institute of
- Technology
- .fi
-